<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    // 函数
    // 声明、 函数名、 参数、 函数体、 返回值
    function funcName(params) {
    }
    /*
    // 箭头函数定义
    (参数列表) => {
      // 函数体
      return 返回值;
    }
    */
    // 箭头函数： => 声明， ()参数， {} 函数体 ，return 返回值
    let print = (value) => {
      console.log(value);
      value = value + '111';
      return value
    }

    let result = print("我是中国人");
    console.log(result);
    // 无参数时
    /*  
    () => {
      // 函数体
    }
    */
    // 函数体为，单行表达式时，可以省略花括号，并且表达式值会作为返回值返回
    let sum = (valueA, valueB) => valueA + valueB
    let result1 = sum(10, 20);
    console.log(result1);
    function confirm(params) {
      return params
    }
    // https://www.cnblogs.com/xxcn/p/11056495.html
    
    // JavaScript箭头函数与普通函数不只是写法上的区别，它们还有一些微妙的不同点，其中一个不同点就是this。
    // 箭头函数没有自己的this值，箭头函数中所使用的this来自于函数作用域链。
    
    // 1、this 当函数作为对象的方法被调用时，它的this值就是该对象。
    // 2、箭头函数没有自己的this值，箭头函数中所使用的this都是来自函数作用域链，它的取值遵循普通变量一样的规则，在函数作用域链中一层一层往上找。

  </script>
</body>

</html>